"""6.2 【上下文】Context 日志回调类客户端开发"""
from time import sleep

from mcp.server.fastmcp import FastMCP, Context

#定义一个MCP服务器
mcp = FastMCP("Context MCP Server")

@mcp.tool()
async def process_data(batch_list:list[str],ctx:Context)->str:
    """
    批量处理数据
    :param batch_list: 列表形数据，包含多个数据项
    :param ctx: 上下文对象，无需客户端传递
    :return str:
    """
    print(" *** 调用了process_data ===")
    for item in batch_list:
        # 模拟处理每个数据项
        await ctx.info(f"Processing item: {item}")
        sleep(10)
    return "批量的数据已经处理完成"



if __name__ == "__main__":
    #声明使用stdio传输协议,默认是sse协议
    mcp.run(transport="sse")
